package com.hua.api.modules.express.service.impl;


import com.alibaba.fastjson.JSONObject;
import com.hua.api.core.framework.http.response.OpenApiResponse;
import com.hua.api.core.out.express.eleme.request.GetTokenRequest;
import com.hua.api.core.out.express.eleme.request.store.GetAmountRequest;
import com.hua.api.modules.express.domain.ExpressOrder;
import com.hua.api.modules.express.domain.ShopInfoExpress;
import com.hua.api.modules.express.service.ExpressInfoService;
import com.hua.api.modules.express.service.dto.ExpressInfoCriteria;
import com.hua.api.modules.finance.domain.UserAccount;
import com.hua.api.modules.order.domain.OrderInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

/**
 * eleme 蜂鸟配送
 * */
@SuppressWarnings("all")
@Slf4j
@Component("eleme")
public class ElemeExpressInfoServiceImpl implements ExpressInfoService {


    @Override
    public JSONObject openCitiesLists() {
        return null;
    }

    @Override
    public JSONObject queryAllStores(ExpressInfoCriteria criteria) {
        return null;
    }

    @Override
    public ExpressOrder orderCalculate(ShopInfoExpress express, OrderInfo order, UserAccount account, Integer isSaleAfter) {
        return null;
    }

    @Override
    public ExpressOrder orderPlace(ExpressOrder eorder) {
        return null;
    }

    @Override
    public JSONObject addition(ExpressOrder eorder, Integer fenAmount) {
        return null;
    }

    @Override
    public JSONObject courierInfo(ExpressInfoCriteria criteria) {
        return null;
    }

    @Override
    public JSONObject getUserAccount() {
        GetAmountRequest request = new GetAmountRequest();
        OpenApiResponse response = request.doRequest();
        return response.toJSONObject();
    }

    @Override
    public JSONObject abortOrder(ExpressInfoCriteria criteria) {
        return null;
    }

    @Override
    public JSONObject storeOpertionSync(String storeId, String expressCode, Integer shopId) {
        return null;
    }



    @Override
    public JSONObject storeOperationAdd(Integer shopId, String expressCode) {
        return null;
    }

    @Override
    public JSONObject storeOperationModify(Integer shopId, String expressCode, String storeId) {
        return null;
    }

    @Override
    public void onOrderStatusChange(JSONObject data) {

    }
}
